//#define  _CRT_SECURE_NO_WARNINGS 1
//
//#include"Stack.h"
//
//void SLInit(SL* pc)
//{
//	pc->head = (SLdatatype*)malloc(5);
//	pc->top = 0;
//	pc->capacity = 5;
//	return;
//}
//
//void SLPush(SL* pc, SLdatatype x)
//{
//	if (pc->top  == pc->capacity)
//	{
//		pc->head = (SLdatatype*)realloc(pc->head,sizeof(pc->capacity * 2));
//		pc->capacity = pc->capacity * 2;
//	}
//	pc->head[pc->top++]=x;
//	//pc->top++;
//	return;
//}
//
//void SLPop(SL* pc)
//{
//	assert(!SLEmpty(pc));
//	pc->top--;
//	return;
//}
//
//SLdatatype STTop(SL* pc)
//{
//	assert(!SLEmpty(pc));
//	return pc->head[pc->top-1];
//}
//
//bool SLEmpty(SL* pc)
//{
//	assert(pc);
//	return pc->top == 0;
//}
//
//int SLSizeof(SL* pc)
//{
//	assert(pc);
//
//	return pc->top;
//}
//
//void SLdestroy(SL* pc)
//{
//	free(pc->head);
//	pc->head = NULL;
//	return;
//}